<?php
/**
 * 我的代金券
 *
 *
 *
 *
 
 */

//use Shopnc\Tpl;

defined('InShopNC') or exit('Access Invalid!');

class member_voucherControl extends mobileMemberControl {

	public function __construct() {
		parent::__construct();
	}

    /**
     * 地址列表
     */
    public function voucher_listOp() {
		$model_voucher = Model('voucher');
        $voucher_list = $model_voucher->getMemberVoucherList($this->member_info['member_id'], $_POST['voucher_state'], $this->page);
        $page_count = $model_voucher->gettotalpage();

        output_data(array('voucher_list' => $voucher_list), mobile_page($page_count));
    }

    //领取代金券
    public function voucher_getOp(){
        $model_voucher=Model('voucher');
        $member_id=$this->member_info['member_id'];
        $voucher_id=intval($_REQUEST ['voucher_id']);
        $use_point=$_REQUEST ['use_point'];
        $condition['voucher_t_id']=$voucher_id;
        $voucher_info=$model_voucher->getVoucherTemplateList($condition);

        $check=$model_voucher->getCanChangeTemplateInfo($voucher_id,$member_id,0,0);//查询是否可以兑换
        if($check['state']){
            //可以领取
            if($use_point==1){ 
                $getVoucher=$model_voucher->exchangeVoucher($voucher_info[0],$member_id);//兑换代金券
                if($getVoucher['state']){
                    output_data($getVoucher);
                }
                else{
                    output_error($getVoucher['msg']);
                }
            }
            else{
                //查询会员信息
                if (!$member_name){
                    $member_info = Model('member')->getMemberInfoByID($member_id);
                    $member_name = $member_info['member_name'];
                }
                //添加代金券信息
                $insert_arr = array();
                $insert_arr['voucher_code'] = $model_voucher->get_voucher_code();
                $insert_arr['voucher_t_id'] = $voucher_info[0]['voucher_t_id'];
                $insert_arr['voucher_title'] = $voucher_info[0]['voucher_t_title'];
                $insert_arr['voucher_desc'] = $voucher_info[0]['voucher_t_desc'];
                $insert_arr['voucher_type'] = $voucher_info[0]['voucher_t_type'];
                
                //新增处理代金券有效期
                if ($voucher_info[0]['voucher_t_datetype'] == 1) {
                    $insert_arr['voucher_start_date'] = $voucher_info[0]['voucher_t_start_date'];
                    $insert_arr['voucher_end_date'] = $voucher_info[0]['voucher_t_end_date'];
                } else if ($voucher_info[0]['voucher_t_datetype'] == 2) {
                    $insert_arr['voucher_start_date'] = time();
                    $insert_arr['voucher_end_date'] = $insert_arr['voucher_start_date']+$voucher_info[0]['voucher_t_cycle']*3600*24;
                }
                $insert_arr['voucher_price'] = $voucher_info[0]['voucher_t_price'];
                $insert_arr['voucher_limit'] = $voucher_info[0]['voucher_t_limit'];
                $insert_arr['voucher_store_id'] = $voucher_info[0]['voucher_t_store_id'];
                $insert_arr['voucher_state'] = 1;
                $insert_arr['voucher_active_date'] = time();
                $insert_arr['voucher_owner_id'] = $member_id;
                $insert_arr['voucher_owner_name'] = $member_name;
                
                $result = $model_voucher->table('voucher')->insert($insert_arr);
                 if ($result){
                    //代金券模板的兑换数增加
                    $model_voucher->editVoucherTemplate(array('voucher_t_id'=>$template_info['voucher_t_id']), array('voucher_t_giveout'=>array('exp','voucher_t_giveout+1')));
                    wcache($member_id, array('voucher_count' => array('exp','voucher_count+1')), 'm_voucher');
                    output_data(array('state'=>true,'msg'=>'领取成功')); 
                } else {
                    output_data(array('state'=>false,'msg'=>'领取失败')); 
                  
                }
            }
           
        }
        else{
            output_error($check['msg']);
        }
        
    }
    
    
    /*
     * 领取专享代金券
     * 20161227周家财
     */
    public function voucher_getspecialOp(){
        //拥有者voucher_owner_id
        //获取当前用户信息，查看是否领取了当前的代金券
        $member_id=$this->member_info['member_id'];
        //获得当前可用代金券，从模板获得当前最新代金券n张，如果时间在

        $condition['voucher_type_ename']=$_REQUEST['type'];
        //找到对应类型的type_id
        $voucher_type_model=Model('voucher_type');
        //$condition['voucher_t_type']=getList($condition);
        $voucher_type=$voucher_type_model->getList($condition);

        $condition1['voucher_t_type']=$voucher_type['voucher_type_id'];
        $model_voucher=Model('voucher');
        //获得代金券模板
        $voucher_info=$model_voucher->getVoucherTemplateList($condition1);
        
        //判断是否领取过该代金券
        //查找对应的用户的对应的代金券
        $condition2=array();
        
        $condition2['voucher_owner_id']=$this->member_info['member_id'];
        
        //领取所有专享代金券
        $temp =0;
        //还要添加一个参数，说明参数
        $explain='';
        foreach ($voucher_info as $key =>$value){
            //组装数组存入代金券
            $insert_arr = array();
            $insert_arr['voucher_code'] = $model_voucher->get_voucher_code();
            $insert_arr['voucher_t_id'] = $voucher_info[$key]['voucher_t_id'];
            $insert_arr['voucher_title'] = $voucher_info[$key]['voucher_t_title'];
            $insert_arr['voucher_desc'] = $voucher_info[$key]['voucher_t_desc'];
            $insert_arr['voucher_type'] = $voucher_info[$key]['voucher_t_type'];
            
            $condition2['voucher_t_id']=$insert_arr['voucher_t_id'];
            //查找用户对应的voucher代金券
            $voucher_detail=$model_voucher->getPerVoucherList($condition2);
            if(!empty($voucher_detail)){
                output_data(array('state'=>false,'msg'=>'您已领取过该代金券'));
            }
            
            //新增处理代金券有效期
            if ($voucher_info[$key]['voucher_t_datetype'] == 1) {
                //按照起止时间
                $insert_arr['voucher_start_date'] = $voucher_info[$key]['voucher_t_start_date'];
                $insert_arr['voucher_end_date'] = $voucher_info[$key]['voucher_t_end_date'];
            } else if ($voucher_info[$key]['voucher_t_datetype'] == 2) {
                //按照周期
                $insert_arr['voucher_start_date'] = time();
                $insert_arr['voucher_end_date'] = $insert_arr['voucher_start_date']+$voucher_info[$key]['voucher_t_cycle']*3600*24;
            }
            $insert_arr['voucher_price'] = $voucher_info[$key]['voucher_t_price'];
            $insert_arr['voucher_limit'] = $voucher_info[$key]['voucher_t_limit'];
            $insert_arr['voucher_store_id'] = $voucher_info[$key]['voucher_t_store_id'];
            $insert_arr['voucher_state'] = 1;
            $insert_arr['voucher_active_date'] = time();
            $insert_arr['voucher_owner_id'] = $member_id;
            $insert_arr['voucher_owner_name'] = $this->member_info['member_name'];
            
            $result = $model_voucher->table('voucher')->insert($insert_arr);
            if ($result){
                $temp ++;
                $explain .=$temp.'、'.$insert_arr['voucher_desc'].'。';
            }else{
                output_data(array('state'=>false,'msg'=>'系统繁忙，领取失败。'));
            }
            //组装数组存入代金券
        }
        if ($temp == count($voucher_info)){
            //代金券模板的兑换数增加
            $model_voucher->editVoucherTemplate(array('voucher_t_id'=>$template_info['voucher_t_id']), array('voucher_t_giveout'=>array('exp','voucher_t_giveout+1')));
            wcache($member_id, array('voucher_count' => array('exp','voucher_count+1')), 'm_voucher');
            output_data(array('state'=>true,'msg'=>'兑换成功','explain'=>$explain));
        } else {
            output_data(array('state'=>false,'msg'=>'兑换失败'));
        
        }
        

    }

    //更新代金券状态
    public function voucher_stateOp(){
        
        
    }
    //删除代金券
    public function voucher_delOp(){
        $model_voucher=Model('voucher');
      
        $voucher_id=intval($_POST ['voucher_id']);
        $data['voucher_state']=4;
        $condition['voucher_id']=$voucher_id;
        $data=$model_voucher->editVoucher($data,$condition);
        if($data){
            output_data(array('msg'=>'删除成功！'));
        }
        else{
            output_error('删除失败！');
        }
        
    }
}
